package com.paic.custserv.service;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.paic.custserv.domain.CussAttachment;
import com.paic.custserv.domain.CussSystemConfig;
import com.paic.custserv.domain.CussWorkOrder;
import com.paic.custserv.domain.CussWorkOrderDealflow;
import com.paic.custserv.domain.Page;
import com.paic.custserv.web.controller.vo.CussWorkOrderQueryVO;

public interface ICussWorkOrderService {
	public CussWorkOrder getCussWorkOrder(Integer id) throws Exception;
	
	public List<CussWorkOrder> selectByParam(@Param("page")Page page,Map<String,Object> paramMap);
    
    CussSystemConfig selectByName(String name);
    
    void updateValueByName(String name,String value);	
    
    List<CussWorkOrder> selectListByPage(@Param("page")CussWorkOrderQueryVO vo);
    
    int updateSelective(CussWorkOrder model);
    
    public void deleteCussWorkOrder(Integer idWorkOrder);
    
    public  int insertCussSystemConfig(CussSystemConfig record);
    
    public void insertCussWorkOrder(CussWorkOrder cussWorkOrder)  throws Exception;
        
    public void updateByPrimaryKey(CussWorkOrder cussWorkOrder);
    
    public int insertCussAttachment(CussAttachment record);
    
    public void insertCussWorkOrderAndAttachment(CussWorkOrder cussWorkOrder,CussAttachment cussAttachment)  throws Exception;       
    
    public List<Map<String,Object>> selectByParentType(Integer parentTypeId);
    
    public List<Map<String,Object>> selectAllType();
    
    public  List<CussWorkOrderDealflow> selectByIdWorkOrder(Page page,Integer idWorkOrder);
    
    public void inHandCussWorkOrder(Map<String,String> paramMap) throws Exception;
    
    public void applyBackCussWorkOrder(Map<String,String> paramMap) throws Exception;
    
    public void completedCussWorkOrder(Map<String,String> paramMap) throws Exception;
    
    public void closedCussWorkOrder(Map<String,String> paramMap) throws Exception;
    
    public void auditCussWorkOrder(Map<String,String> paramMap)  throws Exception;
    
    public void appointCussWorkOrder(Map<String,String> paramMap) throws Exception;
    
    public void submitCussWorkOrder(Map<String,String> paramMap) throws Exception;
    
    public void changUrgentCussWorkOrder(Map<String,String> paramMap) throws Exception;
	
}
